Optimization of CHR Propagation Rules
نویسنده
چکیده
Constraint Handling Rules (CHR) is an elegant, high-level programming language based on multi-headed, forward chaining rules. To ensure CHR propagation rules are applied at most once with the same combination of constraints, CHR implementations maintain a socalled propagation history. The performance impact of this history can be significant. We introduce several optimizations that, for the majority of CHR rules, eliminate this overhead. We formally prove their correctness, and evaluate their implementation in two state-of-the-art CHR systems.
منابع مشابه
Optimization of CHR Propagation Rules: Extended Report
Constraint Handling Rules (CHR) is an elegant, high-level programming language based on multi-headed, forward chaining rules. To ensure CHR propagation rules are applied at most once with the same combination of constraints, CHR implementations maintain a so-called propagation history. The performance impact of this history can be significant. We introduce several optimizations that, for the ma...
متن کاملSoft Constraint Propagation and Solving in Constraint Handling Rules
Soft constraints are a generalization of classical constraints, where constraints and/or partial assignments are associated to preference or importance levels, and constraints are combined according to combinators which express the desired optimization criteria. Constraint Handling Rules (CHR) constitute a high-level natural formalism to specify constraint solvers and propagation algorithms. In...
متن کاملTermination Analysis of CHR Revisited
Today, there exist two distinct direct approaches to prove termination of CHR programs. Both are applicable on separate classes of CHR programs. One approach, by T. Frühwirth, proves termination of CHR programs without propagation rules. A second approach deals with CHR programs with propagation rules. Due to its extended scope to such programs, it fails to prove termination for a class of CHR ...
متن کاملA Tale of Histories
Constraint Handling Rules (CHR) is an elegant, high-level programming language based on multi-headed, forward chaining rules. A distinguishing feature of CHR are propagation rules. To avoid trivial non-termination, CHR implementations ensure a CHR rule is applied at most once with the same combination of constraints by maintaining a so-called propagation history. The performance impact of this ...
متن کاملOperational Semantics and Connuence of Constraint Propagation Rules Operational Semantics and Connuence of Constraint Propagation Rules
Constraint Handling Rules (CHR) allow one to specify and implement both propagation and simpliication for user-deened constraints. Since a propagation rule is applicable again and again, we present in this paper for the rst time an operational semantics for CHR that avoids the termination problem with propagation rules. In previous work AFM96], a suucient and necessary condition for the connuen...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2008